package com.itheima.Demo;

import java.util.ArrayList;
import java.util.stream.Stream;

public class Demo练习 {
    public static void main(String[] args) {
        //所有的变量名都是可以自己起名的
        //第一个队伍
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("张无忌");
        list1.add("东方不败");
        list1.add("卢本伟");
        list1.add("蔡徐坤");
        list1.add("柳岩");
        list1.add("乔碧萝");
        //第二个队伍
        ArrayList<String> list2 = new ArrayList<>();
        list2.add("彭于晏");
        list2.add("柳岩");
        list2.add("张无忌");
        list2.add("吴彦祖");
        list2.add("胡歌");
        list2.add("张飞");
        list2.add("罗志祥");
        list2.add("张曼玉");
        //获取第一个队伍的流
        Stream<String> s1 = list1.stream();
        //1. 第一个队伍只要名字为3个字的成员姓名；
        //2. 第一个队伍筛选之后只要前3个人；
        Stream<String> stream1 = s1.filter((s) -> s.length() == 3).limit(3);
        //获取第二个队伍的流
        Stream<String> s2 = list2.stream();
        //3. 第二个队伍只要姓张的成员姓名；
        //4. 第二个队伍筛选之后不要前2个人；
        Stream<String> stream2 = s2.filter(s -> s.startsWith("张")).skip(2);
        //5. 将两个队伍合并为一个队伍；
        Stream<String> concat = Stream.concat(stream1, stream2);
        //6. 根据姓名创建 Person 对象；
        //把流中的String->Person
        Stream<Preson> stream4 = concat.map(s -> new Preson(s, 20));
        //7. 打印整个队伍的Person对象信息
        stream4.forEach(s-> System.out.println(s));
        //简化上面的代码;



    }
}
